package com.asen.business.commons.service;

import com.asen.business.commons.domain.BaseBill;

/**
 * 基础资料Service接口
 *
 * @author Gary
 * @version 1.0
 * @date 2018-12-09
 */
public interface BaseBillService<T extends BaseBill> extends BillService<T> {

    /**
     * 启用
     *
     * @param id
     * @throws Exception
     */
    void enable(Long id) throws Exception;

    /**
     * 禁用
     *
     * @param id
     * @throws Exception
     */
    void disable(Long id) throws Exception;

    /**
     * 获取对象
     *
     * @param name
     * @return
     * @throws Exception
     */
    T getByName(String name) throws Exception;

    /**
     * 检查名称是否重复
     *
     * @param id
     * @param number
     * @throws Exception
     */
    void checkDupByName(Long id, String number) throws Exception;
}
